.\" .\" UCSD p-System virtual machine .\" Copyright (C) 2006, 2010 Peter Miller .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU .\" General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program. If not, see . .\" .ad l .hy 0 .so etc/version.so ucsd-psystem-vm \*(v)

ucsd-psystem-vm \*(v)

.br
.br .\" ------------------------------------------------------------------------
SourceForge.net
Logo

This page is hosted by SourceForge: see also the .br Project and Statistics pages.

.br .\" ------------------------------------------------------------------------ .br

The ucsd-psystem-vm package is a portable virtual machine for the UCSD p-System.

.br

[ Download | .\" Mailing List | Online Repository ]

.br .\" ------------------------------------------------------------------------ .br

You could support this project with a donation.

.br .\" ------------------------------------------------------------------------ .br .hy 0

About This Project

The .br ucsd-psystem-vm project is a portable virtual machine .br (p-code interpreter) for the UCSD p-System. It supports execution of Apple ][ Pascal programs, it can even display TurtleGraphics using X11.

This is a re-packaging of the excellent p-interp program by Mario Klebsch.

Ancient History

The UCSD p-System is a portable operating system that was popular in the early days of personal computers, in the late 1970s and early 1980s.

Like today's Java, it was based on a “virtual machine” with a standard set of low level, machine language like .br “p-code” instructions that were emulated on different hardware, including the 6502, the 8080, the Z-80, and the PDP-11. In this way, a Pascal compiler that emitted .br p-code executables could produce a program that could be run under the p-System on an Apple II, a Xerox 820, or a DEC PDP-11.

The most popular language for the p-System was UCSD Pascal. In fact, the p-System operating system itself was written in UCSD Pascal, making the entire operating system relatively easy to port between platforms.

By writing a .br p-code interpreter in the platform's native assembly language, and a few minimal hooks to operating system functions for the file system and interacting with the user, you could move a .br p-code executable from another system and run it on the new platform. In this way, the .br p-code generated on one computer could be used to bootstrap the port of the p-System to another computer.

From the Jefferson Computer Museum web site.

See Also

Apple ][ Disk Images
You can get disk images from ftp://ftp.mayn.de/ pub/ really_old_stuff/ mirrors/ apple.asimov.net/ programming/ apple_pascal/

UCSD II.0 Disk Images
You can get disk images from http://www.bitsavers.org/ bits/ UCSD_Pascal/ ucsd_II.0/

Jefferson Computer Museum
This site has links and history for the UCSD p-System.

Mailing List
This Yahoo! group is devoted to UCSD Pascal.

Search Google
You make like to search Google for more UCSD p-System information.

Sister Projects

UCSD p-System Cross Compiler: You can compile UCSD p-System programs on any Posix machine.
UCSD p-System File System: You can mount UCSD p-System disk images as Linux file systems.
UCSD p-System User Manual: A modern reconstruction of the UCSD p-System User Manual is available as HTML.
.br
.\" ------------------------------------------------------------------------
.br .br The ucsd-psystem-vm package is freely distributable under the terms and conditions of the GNU GPL. .br .br .br There is more software by Mario Klebsch at his home page.

There is more Software by Peter Miller at his home page. .\"

.\" ucsd-psystem-vm is developed using Aegis, a transaction based .\" software configuration management system. .\" The Aegis repository for this project is available. .br

.br
.br
This page has been accessed approximately times since .ds MO1 Jan .ds MO2 Feb .ds MO3 Mar .ds MO4 Apr .ds MO5 May .ds MO6 Jun .ds MO7 Jul .ds MO8 Aug .ds MO9 Sep .ds MO10 Oct .ds MO11 Nov .ds MO12 Dec .nr y4 \n[yr]+1900 \n[dy]-\*[MO\n[mo]]-\n[y4].